//
// Created by 12992 on 24-10-14.
//

#include "codec_id_to_string.h"
#include <unordered_map>

namespace utils
{
    using namespace std;
    static unordered_map<AVCodecID, string> encoder_name_map = {
            {AV_CODEC_ID_MPEG1VIDEO,      "MPEG1VIDEO"},
            {AV_CODEC_ID_MPEG2VIDEO,      "MPEG2VIDEO"},
            {AV_CODEC_ID_H261,            "H261"},
            {AV_CODEC_ID_H263,            "H263"},
            {AV_CODEC_ID_RV10,            "RV10"},
            {AV_CODEC_ID_RV20,            "RV20"},
            {AV_CODEC_ID_MJPEG,           "MJPEG"},
            {AV_CODEC_ID_MJPEGB,          "MJPEGB"},
            {AV_CODEC_ID_LJPEG,           "LJPEG"},
            {AV_CODEC_ID_SP5X,            "SP5X"},
            {AV_CODEC_ID_JPEGLS,          "JPEGLS"},
            {AV_CODEC_ID_MPEG4,           "MPEG4"},
            {AV_CODEC_ID_RAWVIDEO,        "RAWVIDEO"},
            {AV_CODEC_ID_MSMPEG4V1,       "MSMPEG4V1"},
            {AV_CODEC_ID_MSMPEG4V2,       "MSMPEG4V2"},
            {AV_CODEC_ID_MSMPEG4V3,       "MSMPEG4V3"},
            {AV_CODEC_ID_WMV1,            "WMV1"},
            {AV_CODEC_ID_WMV2,            "WMV2"},
            {AV_CODEC_ID_H263P,           "H263P"},
            {AV_CODEC_ID_H263I,           "H263I"},
            {AV_CODEC_ID_FLV1,            "FLV1"},
            {AV_CODEC_ID_SVQ1,            "SVQ1"},
            {AV_CODEC_ID_SVQ3,            "SVQ3"},
            {AV_CODEC_ID_DVVIDEO,         "DVVIDEO"},
            {AV_CODEC_ID_HUFFYUV,         "HUFFYUV"},
            {AV_CODEC_ID_CYUV,            "CYUV"},
            {AV_CODEC_ID_H264,            "H264"},
            {AV_CODEC_ID_INDEO3,          "INDEO3"},
            {AV_CODEC_ID_VP3,             "VP3"},
            {AV_CODEC_ID_THEORA,          "THEORA"},
            {AV_CODEC_ID_ASV1,            "ASV1"},
            {AV_CODEC_ID_ASV2,            "ASV2"},
            {AV_CODEC_ID_FFV1,            "FFV1"},
            {AV_CODEC_ID_4XM,             "4XM"},
            {AV_CODEC_ID_VCR1,            "VCR1"},
            {AV_CODEC_ID_CLJR,            "CLJR"},
            {AV_CODEC_ID_MDEC,            "MDEC"},
            {AV_CODEC_ID_ROQ,             "ROQ"},
            {AV_CODEC_ID_INTERPLAY_VIDEO, "INTERPLAY_VIDEO"},
            {AV_CODEC_ID_XAN_WC3,         "XAN_WC3"},
            {AV_CODEC_ID_XAN_WC4,         "XAN_WC4"},
            {AV_CODEC_ID_RPZA,            "RPZA"},
            {AV_CODEC_ID_CINEPAK,         "CINEPAK"},
            {AV_CODEC_ID_WS_VQA,          "WS_VQA"},
            {AV_CODEC_ID_MSRLE,           "MSRLE"},
            {AV_CODEC_ID_MSVIDEO1,        "MSVIDEO1"},
            {AV_CODEC_ID_IDCIN,           "IDCIN"},
            {AV_CODEC_ID_8BPS,            "8BPS"},
            {AV_CODEC_ID_SMC,             "SMC"},
            {AV_CODEC_ID_FLIC,            "FLIC"},
            {AV_CODEC_ID_TRUEMOTION1,     "TRUEMOTION1"},
            {AV_CODEC_ID_VMDVIDEO,        "VMDVIDEO"},
            {AV_CODEC_ID_MSZH,            "MSZH"},
            {AV_CODEC_ID_ZLIB,            "ZLIB"},
            {AV_CODEC_ID_QTRLE,           "QTRLE"},
            {AV_CODEC_ID_TSCC,            "TSCC"},
            {AV_CODEC_ID_ULTI,            "ULTI"},
            {AV_CODEC_ID_QDRAW,           "QDRAW"},
            {AV_CODEC_ID_VIXL,            "VIXL"},
            {AV_CODEC_ID_QPEG,            "QPEG"},
            {AV_CODEC_ID_PNG,             "PNG"},
            {AV_CODEC_ID_PPM,             "PPM"},
            {AV_CODEC_ID_PBM,             "PBM"},
            {AV_CODEC_ID_PGM,             "PGM"},
            {AV_CODEC_ID_PGMYUV,          "PGMYUV"},
            {AV_CODEC_ID_PAM,             "PAM"},
            {AV_CODEC_ID_FFVHUFF,         "FFVHUFF"},
            {AV_CODEC_ID_RV30,            "RV30"},
            {AV_CODEC_ID_RV40,            "RV40"},
            {AV_CODEC_ID_VC1,             "VC1"},
            {AV_CODEC_ID_WMV3,            "WMV3"},
            {AV_CODEC_ID_LOCO,            "LOCO"},
            {AV_CODEC_ID_WNV1,            "WNV1"},
            {AV_CODEC_ID_AASC,            "AASC"},
            {AV_CODEC_ID_INDEO2,          "INDEO2"},
            {AV_CODEC_ID_FRAPS,           "FRAPS"},
            {AV_CODEC_ID_TRUEMOTION2,     "TRUEMOTION2"},
            {AV_CODEC_ID_BMP,             "BMP"},
            {AV_CODEC_ID_CSCD,            "CSCD"},
            {AV_CODEC_ID_MMVIDEO,         "MMVIDEO"},
            {AV_CODEC_ID_ZMBV,            "ZMBV"},
            {AV_CODEC_ID_AVS,             "AVS"},
            {AV_CODEC_ID_SMACKVIDEO,      "SMACKVIDEO"},
            {AV_CODEC_ID_NUV,             "NUV"},
            {AV_CODEC_ID_KMVC,            "KMVC"},
            {AV_CODEC_ID_FLASHSV,         "FLASHSV"},
            {AV_CODEC_ID_CAVS,            "CAVS"},
            {AV_CODEC_ID_JPEG2000,        "JPEG2000"},
            {AV_CODEC_ID_VMNC,            "VMNC"},
            {AV_CODEC_ID_VP5,             "VP5"},
            {AV_CODEC_ID_VP6,             "VP6"},
            {AV_CODEC_ID_VP6F,            "VP6F"},
            {AV_CODEC_ID_TARGA,           "TARGA"},
            {AV_CODEC_ID_DSICINVIDEO,     "DSICINVIDEO"},
            {AV_CODEC_ID_TIERTEXSEQVIDEO, "TIERTEXSEQVIDEO"},
            {AV_CODEC_ID_TIFF,            "TIFF"},
            {AV_CODEC_ID_GIF,             "GIF"},
            {AV_CODEC_ID_DXA,             "DXA"},
            {AV_CODEC_ID_DNXHD,           "DNXHD"},
            {AV_CODEC_ID_THP,             "THP"},
            {AV_CODEC_ID_SGI,             "SGI"},
            {AV_CODEC_ID_C93,             "C93"},
            {AV_CODEC_ID_BETHSOFTVID,     "BETHSOFTVID"},
            {AV_CODEC_ID_PTX,             "PTX"},
            {AV_CODEC_ID_TXD,             "TXD"},
            {AV_CODEC_ID_VP6A,            "VP6A"},
            {AV_CODEC_ID_AMV,             "AMV"},
            {AV_CODEC_ID_VB,              "VB"},
            {AV_CODEC_ID_PCX,             "PCX"},
            {AV_CODEC_ID_SUNRAST,         "SUNRAST"},
            {AV_CODEC_ID_INDEO4,          "INDEO4"},
            {AV_CODEC_ID_INDEO5,          "INDEO5"},
            {AV_CODEC_ID_MIMIC,           "MIMIC"},
            {AV_CODEC_ID_RL2,             "RL2"},
            {AV_CODEC_ID_ESCAPE124,       "ESCAPE124"},
            {AV_CODEC_ID_DIRAC,           "DIRAC"},
            {AV_CODEC_ID_BFI,             "BFI"},
            {AV_CODEC_ID_CMV,             "CMV"},
            {AV_CODEC_ID_MOTIONPIXELS,    "MOTIONPIXELS"},
            {AV_CODEC_ID_TGV,             "TGV"},
            {AV_CODEC_ID_TGQ,             "TGQ"},
            {AV_CODEC_ID_TQI,             "TQI"},
            {AV_CODEC_ID_AURA,            "AURA"},
            {AV_CODEC_ID_AURA2,           "AURA2"},
            {AV_CODEC_ID_V210X,           "V210X"},
            {AV_CODEC_ID_TMV,             "TMV"},
            {AV_CODEC_ID_V210,            "V210"},
            {AV_CODEC_ID_DPX,             "DPX"},
            {AV_CODEC_ID_MAD,             "MAD"},
            {AV_CODEC_ID_FRWU,            "FRWU"},
            {AV_CODEC_ID_FLASHSV2,        "FLASHSV2"},
            {AV_CODEC_ID_CDGRAPHICS,      "CDGRAPHICS"},
            {AV_CODEC_ID_R210,            "R210"},
            {AV_CODEC_ID_ANM,             "ANM"},
            {AV_CODEC_ID_BINKVIDEO,       "BINKVIDEO"},
            {AV_CODEC_ID_IFF_ILBM,        "IFF_ILBM"},
            {AV_CODEC_ID_KGV1,            "KGV1"},
            {AV_CODEC_ID_YOP,             "YOP"},
            {AV_CODEC_ID_VP8,             "VP8"},
            {AV_CODEC_ID_PICTOR,          "PICTOR"},
            {AV_CODEC_ID_ANSI,            "ANSI"},
            {AV_CODEC_ID_A64_MULTI,       "A64_MULTI"},
            {AV_CODEC_ID_A64_MULTI5,      "A64_MULTI5"},
            {AV_CODEC_ID_R10K,            "R10K"},
            {AV_CODEC_ID_MXPEG,           "MXPEG"},
            {AV_CODEC_ID_LAGARITH,        "LAGARITH"},
            {AV_CODEC_ID_PRORES,          "PRORES"},
            {AV_CODEC_ID_JV,              "JV"},
            {AV_CODEC_ID_DFA,             "DFA"},
            {AV_CODEC_ID_WMV3IMAGE,       "WMV3IMAGE"},
            {AV_CODEC_ID_VC1IMAGE,        "VC1IMAGE"},
            {AV_CODEC_ID_UTVIDEO,         "UTVIDEO"},
            {AV_CODEC_ID_BMV_VIDEO,       "BMV_VIDEO"},
            {AV_CODEC_ID_VBLE,            "VBLE"},
            {AV_CODEC_ID_DXTORY,          "DXTORY"},
            {AV_CODEC_ID_V410,            "V410"},
            {AV_CODEC_ID_XWD,             "XWD"},
            {AV_CODEC_ID_CDXL,            "CDXL"},
            {AV_CODEC_ID_XBM,             "XBM"},
            {AV_CODEC_ID_ZEROCODEC,       "ZEROCODEC"},
            {AV_CODEC_ID_MSS1,            "MSS1"},
            {AV_CODEC_ID_MSA1,            "MSA1"},
            {AV_CODEC_ID_TSCC2,           "TSCC2"},
            {AV_CODEC_ID_MTS2,            "MTS2"},
            {AV_CODEC_ID_CLLC,            "CLLC"},
            {AV_CODEC_ID_MSS2,            "MSS2"},
            {AV_CODEC_ID_VP9,             "VP9"},
            {AV_CODEC_ID_AIC,             "AIC"},
            {AV_CODEC_ID_ESCAPE130,       "ESCAPE130"},
            {AV_CODEC_ID_G2M,             "G2M"},
            {AV_CODEC_ID_WEBP,            "WEBP"},
            {AV_CODEC_ID_HNM4_VIDEO,      "HNM4_VIDEO"},
            {AV_CODEC_ID_HEVC,            "HEVC"},
            {AV_CODEC_ID_H265,            "H265"},
            {AV_CODEC_ID_HEVC,            "HEVC"},
            {AV_CODEC_ID_FIC,             "FIC"},
            {AV_CODEC_ID_ALIAS_PIX,       "ALIAS_PIX"},
            {AV_CODEC_ID_BRENDER_PIX,     "BRENDER_PIX"},
            {AV_CODEC_ID_PAF_VIDEO,       "PAF_VIDEO"},
            {AV_CODEC_ID_EXR,             "EXR"},
            {AV_CODEC_ID_VP7,             "VP7"},
            {AV_CODEC_ID_SANM,            "SANM"},
            {AV_CODEC_ID_SGIRLE,          "SGIRLE"},
            {AV_CODEC_ID_MVC1,            "MVC1"},
            {AV_CODEC_ID_MVC2,            "MVC2"},
            {AV_CODEC_ID_HQX,             "HQX"},
            {AV_CODEC_ID_TDSC,            "TDSC"},
            {AV_CODEC_ID_HQ_HQA,          "HQ_HQA"},
            {AV_CODEC_ID_HAP,             "HAP"},
            {AV_CODEC_ID_DDS,             "DDS"},
            {AV_CODEC_ID_DXV,             "DXV"},
            {AV_CODEC_ID_SCREENPRESSO,    "SCREENPRESSO"},
            {AV_CODEC_ID_RSCC,            "RSCC"},
            {AV_CODEC_ID_AVS2,            "AVS2"},
            {AV_CODEC_ID_PGX,             "PGX"},
            {AV_CODEC_ID_AVS3,            "AVS3"},
            {AV_CODEC_ID_MSP2,            "MSP2"},
            {AV_CODEC_ID_VVC,             "VVC"},
            {AV_CODEC_ID_H266,            "H266"},
            {AV_CODEC_ID_VVC,             "VVC"},
            {AV_CODEC_ID_Y41P,            "Y41P"},
            {AV_CODEC_ID_AVRP,            "AVRP"},
            {AV_CODEC_ID_012V,            "012V"},
            {AV_CODEC_ID_AVUI,            "AVUI"},
            {AV_CODEC_ID_TARGA_Y216,      "TARGA_Y216"},
            {AV_CODEC_ID_V308,            "V308"},
            {AV_CODEC_ID_V408,            "V408"},
            {AV_CODEC_ID_YUV4,            "YUV4"},
            {AV_CODEC_ID_AVRN,            "AVRN"},
            {AV_CODEC_ID_CPIA,            "CPIA"},
            {AV_CODEC_ID_XFACE,           "XFACE"},
            {AV_CODEC_ID_SNOW,            "SNOW"},
            {AV_CODEC_ID_SMVJPEG,         "SMVJPEG"},
            {AV_CODEC_ID_APNG,            "APNG"},
            {AV_CODEC_ID_DAALA,           "DAALA"},
            {AV_CODEC_ID_CFHD,            "CFHD"},
            {AV_CODEC_ID_TRUEMOTION2RT,   "TRUEMOTION2RT"},
            {AV_CODEC_ID_M101,            "M101"},
            {AV_CODEC_ID_MAGICYUV,        "MAGICYUV"},
            {AV_CODEC_ID_SHEERVIDEO,      "SHEERVIDEO"},
            {AV_CODEC_ID_YLC,             "YLC"},
            {AV_CODEC_ID_PSD,             "PSD"},
            {AV_CODEC_ID_PIXLET,          "PIXLET"},
            {AV_CODEC_ID_SPEEDHQ,         "SPEEDHQ"},
            {AV_CODEC_ID_FMVC,            "FMVC"},
            {AV_CODEC_ID_SCPR,            "SCPR"},
            {AV_CODEC_ID_CLEARVIDEO,      "CLEARVIDEO"},
            {AV_CODEC_ID_XPM,             "XPM"},
            {AV_CODEC_ID_AV1,             "AV1"},
            {AV_CODEC_ID_BITPACKED,       "BITPACKED"},
            {AV_CODEC_ID_MSCC,            "MSCC"},
            {AV_CODEC_ID_SRGC,            "SRGC"},
            {AV_CODEC_ID_SVG,             "SVG"},
            {AV_CODEC_ID_GDV,             "GDV"},
            {AV_CODEC_ID_FITS,            "FITS"},
            {AV_CODEC_ID_IMM4,            "IMM4"},
            {AV_CODEC_ID_PROSUMER,        "PROSUMER"},
            {AV_CODEC_ID_MWSC,            "MWSC"},
            {AV_CODEC_ID_WCMV,            "WCMV"},
            {AV_CODEC_ID_RASC,            "RASC"},
            {AV_CODEC_ID_HYMT,            "HYMT"},
            {AV_CODEC_ID_ARBC,            "ARBC"},
            {AV_CODEC_ID_AGM,             "AGM"},
            {AV_CODEC_ID_LSCR,            "LSCR"},
            {AV_CODEC_ID_VP4,             "VP4"},
            {AV_CODEC_ID_IMM5,            "IMM5"},
            {AV_CODEC_ID_MVDV,            "MVDV"},
            {AV_CODEC_ID_MVHA,            "MVHA"},
            {AV_CODEC_ID_CDTOONS,         "CDTOONS"},
            {AV_CODEC_ID_MV30,            "MV30"},
            {AV_CODEC_ID_NOTCHLC,         "NOTCHLC"},
            {AV_CODEC_ID_PFM,             "PFM"},
            {AV_CODEC_ID_MOBICLIP,        "MOBICLIP"},
            {AV_CODEC_ID_PHOTOCD,         "PHOTOCD"},
            {AV_CODEC_ID_IPU,             "IPU"},
            {AV_CODEC_ID_ARGO,            "ARGO"},
            {AV_CODEC_ID_CRI,             "CRI"},
            {AV_CODEC_ID_SIMBIOSIS_IMX,   "SIMBIOSIS_IMX"},
            {AV_CODEC_ID_SGA_VIDEO,       "SGA_VIDEO"},
            {AV_CODEC_ID_GEM,             "GEM"},
            {AV_CODEC_ID_VBN,             "VBN"},
            {AV_CODEC_ID_JPEGXL,          "JPEGXL"},
            {AV_CODEC_ID_QOI,             "QOI"},
            {AV_CODEC_ID_PHM,             "PHM"},
            {AV_CODEC_ID_RADIANCE_HDR,    "RADIANCE_HDR"},
            {AV_CODEC_ID_WBMP,            "WBMP"},
            {AV_CODEC_ID_MEDIA100,        "MEDIA100"},
            {AV_CODEC_ID_VQC,             "VQC"},
            {AV_CODEC_ID_PDV,             "PDV"},
            {AV_CODEC_ID_EVC,             "EVC"},
            {AV_CODEC_ID_RTV1,            "RTV1"},
            {AV_CODEC_ID_VMIX,            "VMIX"},
            {AV_CODEC_ID_LEAD,            "LEAD"},
            {AV_CODEC_ID_MP2,             "MP2"},
            {AV_CODEC_ID_MP3,             "MP3"},
            {AV_CODEC_ID_AAC,             "AAC"},
            {AV_CODEC_ID_AC3,             "AC3"},
            {AV_CODEC_ID_DTS,             "DTS"},
            {AV_CODEC_ID_VORBIS,          "VORBIS"},
            {AV_CODEC_ID_DVAUDIO,         "DVAUDIO"},
            {AV_CODEC_ID_WMAV1,           "WMAV1"},
            {AV_CODEC_ID_WMAV2,           "WMAV2"},
            {AV_CODEC_ID_MACE3,           "MACE3"},
            {AV_CODEC_ID_MACE6,           "MACE6"},
            {AV_CODEC_ID_VMDAUDIO,        "VMDAUDIO"},
            {AV_CODEC_ID_FLAC,            "FLAC"},
            {AV_CODEC_ID_MP3ADU,          "MP3ADU"},
            {AV_CODEC_ID_MP3ON4,          "MP3ON4"},
            {AV_CODEC_ID_SHORTEN,         "SHORTEN"},
            {AV_CODEC_ID_ALAC,            "ALAC"},
            {AV_CODEC_ID_WESTWOOD_SND1,   "WESTWOOD_SND1"},
            {AV_CODEC_ID_GSM,             "GSM"},
            {AV_CODEC_ID_QDM2,            "QDM2"},
            {AV_CODEC_ID_COOK,            "COOK"},
            {AV_CODEC_ID_TRUESPEECH,      "TRUESPEECH"},
            {AV_CODEC_ID_TTA,             "TTA"},
            {AV_CODEC_ID_SMACKAUDIO,      "SMACKAUDIO"},
            {AV_CODEC_ID_QCELP,           "QCELP"},
            {AV_CODEC_ID_WAVPACK,         "WAVPACK"},
            {AV_CODEC_ID_DSICINAUDIO,     "DSICINAUDIO"},
            {AV_CODEC_ID_IMC,             "IMC"},
            {AV_CODEC_ID_MUSEPACK7,       "MUSEPACK7"},
            {AV_CODEC_ID_MLP,             "MLP"},
            {AV_CODEC_ID_GSM_MS,          "GSM_MS"},
            {AV_CODEC_ID_ATRAC3,          "ATRAC3"},
            {AV_CODEC_ID_APE,             "APE"},
            {AV_CODEC_ID_NELLYMOSER,      "NELLYMOSER"},
            {AV_CODEC_ID_MUSEPACK8,       "MUSEPACK8"},
            {AV_CODEC_ID_SPEEX,           "SPEEX"},
            {AV_CODEC_ID_WMAVOICE,        "WMAVOICE"},
            {AV_CODEC_ID_WMAPRO,          "WMAPRO"},
            {AV_CODEC_ID_WMALOSSLESS,     "WMALOSSLESS"},
            {AV_CODEC_ID_ATRAC3P,         "ATRAC3P"},
            {AV_CODEC_ID_EAC3,            "EAC3"},
            {AV_CODEC_ID_SIPR,            "SIPR"},
            {AV_CODEC_ID_MP1,             "MP1"},
            {AV_CODEC_ID_TWINVQ,          "TWINVQ"},
            {AV_CODEC_ID_TRUEHD,          "TRUEHD"},
            {AV_CODEC_ID_MP4ALS,          "MP4ALS"},
            {AV_CODEC_ID_ATRAC1,          "ATRAC1"},
            {AV_CODEC_ID_BINKAUDIO_RDFT,  "BINKAUDIO_RDFT"},
            {AV_CODEC_ID_BINKAUDIO_DCT,   "BINKAUDIO_DCT"},
            {AV_CODEC_ID_AAC_LATM,        "AAC_LATM"},
            {AV_CODEC_ID_QDMC,            "QDMC"},
            {AV_CODEC_ID_CELT,            "CELT"},
            {AV_CODEC_ID_G723_1,          "G723_1"},
            {AV_CODEC_ID_G729,            "G729"},
            {AV_CODEC_ID_8SVX_EXP,        "8SVX_EXP"},
            {AV_CODEC_ID_8SVX_FIB,        "8SVX_FIB"},
            {AV_CODEC_ID_BMV_AUDIO,       "BMV_AUDIO"},
            {AV_CODEC_ID_RALF,            "RALF"},
            {AV_CODEC_ID_IAC,             "IAC"},
            {AV_CODEC_ID_ILBC,            "ILBC"},
            {AV_CODEC_ID_OPUS,            "OPUS"},
            {AV_CODEC_ID_COMFORT_NOISE,   "COMFORT_NOISE"},
            {AV_CODEC_ID_TAK,             "TAK"},
            {AV_CODEC_ID_METASOUND,       "METASOUND"},
            {AV_CODEC_ID_PAF_AUDIO,       "PAF_AUDIO"},
            {AV_CODEC_ID_ON2AVC,          "ON2AVC"},
            {AV_CODEC_ID_DSS_SP,          "DSS_SP"},
            {AV_CODEC_ID_CODEC2,          "CODEC2"},
            {AV_CODEC_ID_FFWAVESYNTH,     "FFWAVESYNTH"},
            {AV_CODEC_ID_SONIC,           "SONIC"},
            {AV_CODEC_ID_SONIC_LS,        "SONIC_LS"},
            {AV_CODEC_ID_EVRC,            "EVRC"},
            {AV_CODEC_ID_SMV,             "SMV"},
            {AV_CODEC_ID_DSD_LSBF,        "DSD_LSBF"},
            {AV_CODEC_ID_DSD_MSBF,        "DSD_MSBF"},
            {AV_CODEC_ID_DSD_LSBF_PLANAR, "DSD_LSBF_PLANAR"},
            {AV_CODEC_ID_DSD_MSBF_PLANAR, "DSD_MSBF_PLANAR"},
            {AV_CODEC_ID_4GV,             "4GV"},
            {AV_CODEC_ID_INTERPLAY_ACM,   "INTERPLAY_ACM"},
            {AV_CODEC_ID_XMA1,            "XMA1"},
            {AV_CODEC_ID_XMA2,            "XMA2"},
            {AV_CODEC_ID_DST,             "DST"},
            {AV_CODEC_ID_ATRAC3AL,        "ATRAC3AL"},
            {AV_CODEC_ID_ATRAC3PAL,       "ATRAC3PAL"},
            {AV_CODEC_ID_DOLBY_E,         "DOLBY_E"},
            {AV_CODEC_ID_APTX,            "APTX"},
            {AV_CODEC_ID_APTX_HD,         "APTX_HD"},
            {AV_CODEC_ID_SBC,             "SBC"},
            {AV_CODEC_ID_ATRAC9,          "ATRAC9"},
            {AV_CODEC_ID_HCOM,            "HCOM"},
            {AV_CODEC_ID_ACELP_KELVIN,    "ACELP_KELVIN"},
            {AV_CODEC_ID_MPEGH_3D_AUDIO,  "MPEGH_3D_AUDIO"},
            {AV_CODEC_ID_SIREN,           "SIREN"},
            {AV_CODEC_ID_HCA,             "HCA"},
            {AV_CODEC_ID_FASTAUDIO,       "FASTAUDIO"},
            {AV_CODEC_ID_MSNSIREN,        "MSNSIREN"},
            {AV_CODEC_ID_DFPWM,           "DFPWM"},
            {AV_CODEC_ID_BONK,            "BONK"},
            {AV_CODEC_ID_MISC4,           "MISC4"},
            {AV_CODEC_ID_APAC,            "APAC"},
            {AV_CODEC_ID_FTR,             "FTR"},
            {AV_CODEC_ID_WAVARC,          "WAVARC"},
            {AV_CODEC_ID_RKA,             "RKA"},
            {AV_CODEC_ID_AC4,             "AC4"},
            {AV_CODEC_ID_OSQ,             "OSQ"},
            {AV_CODEC_ID_QOA,             "QO"},

    };

    std::string codec_id_to_string(AVCodecID id)
    {
        return encoder_name_map[id];
    }
} // utils